The internet and media enabled portable computing devices have dramatically altered the processes for generating and consuming media content. Presently, users can consume media content virtually anywhere at any time, as long as they have access to a media capable device with an internet connection. The convenience of being able to view media content via the internet, essentially on demand, has resulted in explosive growth of internet media consumption.
Streaming is a common method of media delivery across the internet. Streaming media is continuously received and presented to an end-user while being delivered by a streaming provider. Streaming enables media that includes large amounts of data to be displayed on a client device prior to the entire media file being transmitted. Internet media traffic is currently approaching a majority of consumer internet traffic (e.g., traffic delivered via a transmission control protocol (TCP)), and the rate of demand is projected to continue increasing. In particular, streaming media is expected to account for a large portion of the projected increase in demand.
Streaming media content is a computationally expensive process that involves substantial bandwidth and quantities of resources from the streaming provider and client. Typically, streaming providers send media content to clients at a best-effort rate or as quickly as possible. Providing media content as quickly as possible can result in burstiness and trigger unnecessary packet loss.